<?php

namespace App\Http\Controllers\Api\gao;
use Illuminate\Support\Facades\Request;
use App\Utils\Service\LeakyBucketRateLimiter;

/**
 * 漏桶控制器
 * gao
 */
class BucketController
{
    //实现思路
    //先在Server层创建一个类指定桶的容量和流速
    //然后再在App/Providers/AppServiceProvider中注册服务类
    //最后在控制器层调用查看是否请求太多
    public function store(Request $request, LeakyBucketRateLimiter $limiter) {
        // 验证请求是否受到限制（每个用户每秒钟最多只能添加5个任务）
        if (!$limiter->check($request->user()->id, 5)) {
            return response(['message' => '太多请求'], 429);
        }
    }

}
